/*
 *------------------------------------------------------------------------------
 * @File      :    ei_mai_adec.h
 * @Date      :    2021-4-8
 * @Author    :    lomboswer <lomboswer@lombotech.com>
 * @Brief     :    Media Interface for MADP(Media Development Platform).
 *
 * Copyright (C) 2020-2021, LomboTech Co.Ltd. All rights reserved.
 *------------------------------------------------------------------------------
 */

#ifndef EI_MAI_ADEC_H__
#define EI_MAI_ADEC_H__

#include "ei_mai_comm_define.h"
#include "ei_mai_common.h"
#include "ei_mai_adec_define.h"
#include "ei_comm_adec.h"

EI_S32 EI_MAI_ADEC_Init(EI_HANDLE AdecChn, EI_MADP_ADEC_ATTR_S* pstAdecAttr);

EI_S32 EI_MAI_ADEC_DeInit(EI_HANDLE AdecChn);

EI_S32 EI_MAI_ADEC_SendStream(EI_HANDLE AdecHdl, EI_MADP_ADEC_Stream_Info* pstAdecStream, EI_BOOL bBlock);

EI_S32 EI_MAI_ADEC_SendEndOfStream(EI_HANDLE AdecHdl, EI_BOOL bBlock);

EI_S32 EI_MAI_ADEC_GetFrame(EI_HANDLE AdecHdl, EI_MADP_AUDIO_FRAME_INFO_S* pstAudioFrameInfo, EI_BOOL bBlock);

EI_S32 EI_MAI_ADEC_ReleaseFrame(EI_HANDLE AdecHdl, EI_MADP_AUDIO_FRAME_INFO_S* pstAudioFrameInfo);

EI_S32 EI_MAI_ADEC_Flush(EI_HANDLE AdecHdl);

EI_S32 EI_MAI_ADEC_LINK_AO(EI_HANDLE AdecChn, EI_HANDLE AoDev, EI_HANDLE AoChn);

EI_S32 EI_MAI_ADEC_UNLINK_AO(EI_HANDLE AdecChn, EI_HANDLE AoDev, EI_HANDLE AoChn);

#endif
